home *** CD-ROM | disk | FTP | other *** search
/ Aminet 21 / Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso / Aminet / mus / play / SPLibDev.lha / superplay-lib_DEV / Programmers / AmigaE / super_gui.e < prev    next >
Encoding:
Text File  |  1997-08-15  |  2.2 KB  |  91 lines

  1. OPT OSVERSION=37
  2.  
  3. MODULE 'superplay',
  4.        'libraries/superplay',
  5.        '*super_rev',
  6.        'tools/easygui_lite',
  7.        'tools/exceptions'
  8.  
  9. DEF err,handle:PTR TO LONG
  10. PROC main() HANDLE
  11.    checkarg()
  12.    openlibs()
  13.    play()
  14.    domenu()
  15.    eject(NIL)
  16. EXCEPT DO
  17. SELECT exception
  18. CASE "bigg"
  19.      eject('GUI too big for current screen!!!')
  20. CASE "MEM"
  21.      eject('Insufficient memory to open GUI!!!')
  22. CASE "GT"
  23.      eject('Could not open gadtools.library!!!')
  24. CASE "Egui"
  25.      eject('Error while creating GUI!!!')
  26. CASE "GUI"
  27.      eject('Error while displaying GUI!!!')
  28. DEFAULT
  29.      report_exception()
  30.      eject('Unkown error!')
  31. ENDSELECT
  32. ENDPROC
  33.  
  34. PROC usage()
  35.    eject('Usage: supEr <filename>')
  36.    CleanUp(0)
  37. ENDPROC
  38.  
  39. PROC closenkill(base)
  40.    IF base THEN CloseLibrary(base)
  41. ENDPROC
  42.  
  43. PROC eject(errstr)
  44. DEF dummy
  45.    IF handle THEN SpL_FreeHandle(handle)
  46.    IF superplaybase THEN closenkill(superplaybase)
  47.    IF errstr THEN dummy:=msg(errstr,NIL,'CLI-Tracker Error')
  48.    CleanUp(0)
  49. ENDPROC
  50.  
  51. PROC msg(msgstring,buttxt=NIL,header=NIL)
  52. DEF dummy
  53.    dummy:=EasyRequestArgs(0,[20,0,IF header THEN header ELSE 'CLI-Tracker Request',msgstring,IF buttxt THEN buttxt ELSE ' OK '],0,NIL)
  54. ENDPROC dummy
  55.  
  56. PROC play()
  57.    SpL_InitHandleAsDOS(handle,NIL) /* Please note: SpL NOT SPL !!! */
  58.    IF (err:=SpL_SuperPlay(handle,arg))<>NIL THEN eject(SpL_GetErrorString(err))
  59. ENDPROC
  60.  
  61. PROC openlibs()
  62.    IF (superplaybase:=OpenLibrary('superplay.library',6))=0 THEN eject('Could not open superplay.library v6')
  63.    IF (handle:=SpL_AllocHandle(NIL))=NIL THEN eject('Could not allocate handle')
  64. ENDPROC
  65.  
  66. PROC checkarg()
  67.    IF StrCmp(arg,'?',ALL) THEN usage()
  68. ENDPROC
  69.  
  70. PROC domenu()
  71. DEF str_title[50]:STRING,str_filename[50]:STRING,str_size[50]:STRING
  72.    /* Init some strings */
  73.    StringF(str_title,'supEr \d.\d (\d.\d.\d)',VERSION,REVISION,VERSION_DAY,VERSION_MONTH,VERSION_YEAR)
  74.    StringF(str_filename,'\s',FilePart(arg))
  75.    StringF(str_size,'\d',FileLength(arg))
  76.  
  77.    /* Menu layout */
  78.  
  79.    easyguiA(str_title,
  80.             [BEVEL,
  81.               [ROWS,
  82.                 [TEXT,'     © 1997 Frits Letteboer     ',NIL,TRUE,0],
  83.                 [SPACEH],
  84.                 [TEXT,str_filename,' Filename  :',TRUE,0],
  85.                 [TEXT,str_size,' Filesize  :',TRUE,0]
  86.              ]
  87.             ])
  88. ENDPROC
  89.  
  90.  
  91.